humble-chuck
  • Resume
  1. display
  • Humble Chuck
  • Delegation
  • Dependency
  • MultiEnum
  • Database
  • display
  • models
  • arc_gis
  • Baseball
  • projects
    • Flow Chart Creator
    • Treasury Marketable Securities

On this page

  • custom_show
  • Custom Doc Renderer
    • PydanticAwareRenderer
    • MyPydanticModel
    • ModelWithModel
    • Model
    • MoreModels

display


source

custom_show

 custom_show (fig:plotly.graph_objs._figure.Figure, filename:str=None)

*A custom version of the show method of a Plotly Figure.

  • Removes the Plotly logo from the display
  • Downloaded plots are higher quality ‘SVG’ format
  • Allows you to pass ‘filename’ argument to customize the name of the downloaded file*
Exported source
def custom_show(
    fig:go.Figure,
    filename:str = None
):
    """ A custom version of the `show` method of a Plotly Figure. 
    
    - Removes the Plotly logo from the display
    - Downloaded plots are higher quality 'SVG' format
    - Allows you to pass 'filename' argument to customize the name of the downloaded file 
    """
    config = {
      'toImageButtonOptions': {
        'format': 'svg', # one of png, svg, jpeg, webp
        'scale': 1 # Multiply title/legend/axis/canvas sizes by this factor
      },
        'displaylogo':False
        
    }

    if filename:
        config['toImageButtonOptions']['filename']=filename
    fig.show(config=config)
# Create a scatter plot trace
scatter_trace = go.Scatter(
    x=[1, 2, 3, 4],
    y=[10, 15, 13, 17],
    mode='markers+lines',
    name='Scatter Plot'
)

# Create a bar chart trace
bar_trace = go.Bar(
    x=[1, 2, 3, 4],
    y=[5, 9, 7, 8],
    name='Bar Chart'
)

# Combine traces into a data list
data = [scatter_trace, bar_trace]

# Define the layout of the figure
layout = go.Layout(
    title='Example Plotly Figure using graph_objs',
    xaxis=dict(
        title='X-axis Label',
        tickmode='linear'
    ),
    yaxis=dict(
        title='Y-axis Label'
    ),
    legend=dict(
        x=0.1,
        y=1.1,
        orientation='h'
    )
)

# Create the figure with data and layout
fig = go.Figure(data=data, layout=layout)

# Display the figure
fig.show(renderer='jupyterlab+notebook')
custom_show(fig)

fig.layout.title = 'Click me to Edit!'
fig.show(
    config={'edits':{'titleText':True}}
)

Custom Doc Renderer

Custom show_doc renderer to be used by nbdev that supports Pydantic Models


source

PydanticAwareRenderer

 PydanticAwareRenderer (sym, name:str|None=None, title_level:int=3)

Markdown renderer for show_doc

from nbdev.showdoc import show_doc
from pydantic import BaseModel,Field
from humble_chuck.models import BaseModel
class MyPydanticModel(BaseModel):
    """A Basic Pydnatic model"""
    name: str = Field(description="A basic string filed called `name`")
    number: int

Show doc with custom render:


MyPydanticModel

 MyPydanticModel (name:str, number:int)

*A Basic Pydnatic model**

Fields:

Name Type Required Default Description
name string True A basic string filed called name
number integer True
class ModelWithModel(BaseModel):
    """ A Model within a Model """
    my_model: MyPydanticModel = Field(description="Description for nested model")
    other: dict = None

ModelWithModel

 ModelWithModel (my_model:__main__.MyPydanticModel, other:dict=None)

*A Model within a Model**

Fields:

Name Type Required Default Description
my_model MyPydanticModel True - (Nested Model)
other object False None

$defs → MyPydanticModel

Name Type Required Default Description
name string True A basic string filed called name
number integer True
class Model(BaseModel):
    pass

class MoreModels(Model):
    """Models within Models within Models"""
    integer: int 
    my_model: MyPydanticModel
    my_model_with_model: ModelWithModel

Model

 Model ()

*!!! abstract “Usage Documentation” Models

A base class for creating Pydantic models.

Attributes: class_vars: The names of the class variables defined on the model. private_attributes: Metadata about the private attributes of the model. signature: The synthesized __init__ [Signature][inspect.Signature] of the model.

__pydantic_complete__: Whether model building is completed, or if there are still undefined fields.
__pydantic_core_schema__: The core schema of the model.
__pydantic_custom_init__: Whether the model has a custom `__init__` function.
__pydantic_decorators__: Metadata containing the decorators defined on the model.
    This replaces `Model.__validators__` and `Model.__root_validators__` from Pydantic V1.
__pydantic_generic_metadata__: Metadata for generic models; contains data used for a similar purpose to
    __args__, __origin__, __parameters__ in typing-module generics. May eventually be replaced by these.
__pydantic_parent_namespace__: Parent namespace of the model, used for automatic rebuilding of models.
__pydantic_post_init__: The name of the post-init method for the model, if defined.
__pydantic_root_model__: Whether the model is a [`RootModel`][pydantic.root_model.RootModel].
__pydantic_serializer__: The `pydantic-core` `SchemaSerializer` used to dump instances of the model.
__pydantic_validator__: The `pydantic-core` `SchemaValidator` used to validate instances of the model.

__pydantic_fields__: A dictionary of field names and their corresponding [`FieldInfo`][pydantic.fields.FieldInfo] objects.
__pydantic_computed_fields__: A dictionary of computed field names and their corresponding [`ComputedFieldInfo`][pydantic.fields.ComputedFieldInfo] objects.

__pydantic_extra__: A dictionary containing extra values, if [`extra`][pydantic.config.ConfigDict.extra]
    is set to `'allow'`.
__pydantic_fields_set__: The names of fields explicitly set during instantiation.
__pydantic_private__: Values of private attributes set on the model instance.**

Fields:

Name Type Required Default Description

MoreModels

 MoreModels (integer:int, my_model:__main__.MyPydanticModel,
             my_model_with_model:__main__.ModelWithModel)

*Models within Models within Models**

Fields:

Name Type Required Default Description
integer integer True
my_model MyPydanticModel True - (Nested Model)
my_model_with_model ModelWithModel True - (Nested Model)

$defs → ModelWithModel

Name Type Required Default Description
my_model True Description for nested model
other object False None

$defs → MyPydanticModel

Name Type Required Default Description
name string True A basic string filed called name
number integer True
!nbdev_export